Cellular networks have traditionally been operated by telecommunications providers using custom hardware and software solutions. While it is possible to operate some components of a cellular network within a cloud infrastructure (e.g., using a public cloud provider), some of the components and technologies do not translate directly or efficiently to the cloud. For example, in an LTE cellular network, the control plane and user plane networks are considered to be separate networks. The control plane is responsible for setting up, configuring, and tearing down connections in the user plane. The user plane directly carries user data (network packets from user equipment). The serving gateway/packet gateway (SPGW) is a component through which the user packets flow. To handle the large volume of traffic, many SPGW instances may be needed. In a cloud implementation, each SPGW instance can run on its own virtual machine. These SPGW instances need to receive control plane messages so that they can correctly handle the user plane packets.
A load balancer within a cloud environment is designed to spread packets across (e.g., evenly across) a number of virtual machines. Typically, the load balancer has little control over which packets go to which virtual machine other than attempting to direct packets with the same source and destination address to the same virtual machine. As a result of running SPGW instances behind a load balancer in a cloud environment, the control plane and user plane data for a given user can be sent to different SPGW instances. In this situation, it may be difficult, or impossible, for control plane information to be sent to, or read by, the SPGW instance that needs it.
Therefore, there exists ample opportunity for improvement in technologies related to implementing cellular networking components within a cloud environment.